#ifndef INTROSTATE_H_INCLUDED
#define INTROSTATE_H_INCLUDED

#include "state.h"
#include "InputManager.h"
#include "RenderObject.h"

class IntroState : public State
{
public:
	bool FrameFunc();
	void enter();
    void exit();

    void pause();
    void resume();

	void keyPressed( const OIS::KeyEvent &e );
	void keyReleased( const OIS::KeyEvent &e );

	void mouseMoved( const OIS::MouseEvent &e );
	void mousePressed( const OIS::MouseEvent &e, OIS::MouseButtonID id );
	void mouseReleased( const OIS::MouseEvent &e, OIS::MouseButtonID id );

	void buttonPressed( const OIS::JoyStickEvent &e, int val);
	void buttonReleased( const OIS::JoyStickEvent &e, int val);
	void axisMoved( const OIS::JoyStickEvent &e, int val);

	static IntroState* getInstance() { return &mIntroState; }

private:
	static IntroState mIntroState;

	bool mExitGame;
	float dt;

	RenderObject *obj1;

protected:
	void Introstate()	{}

	//managers
	RenderCore* mRenderCore;
	InputManager* mInputManager;
	//ObjectManager* mObjectManager;
	//SoundManager* mSoundManager;
	//NetworkManager* mNetworkManager;

	//Inputs
	OIS::Mouse* mMouse;
	OIS::Keyboard* mKeyboard;
	OIS::JoyStick* mJoyStick;

};


#endif // INTROSTATE_H_INCLUDED
